1. Field of the Invention
The present invention relates to data storage systems such as databases, and more specifically to a method and apparatus for synchronizing data across multiple data storage systems when processing transactions received on a network.
2. Related Art
Data storage systems, such as database systems, are generally used to store data. The stored data can then be later accessed and used for various purposes, as is well known in the relevant arts.
The same data is often stored on multiple data storage systems. Such an approach provides several advantages such as having a backup storage system in case the other data storage systems fail for whatever reason. An another example, each data storage system can be used to serve different sets of users, thereby providing a superior throughput performance.
At least to maintain such same data on multiple data storage systems, there is a general need to synchronize the data across the data storage systems. Synchronization generally refers to effecting a change on all the data storage systems if the change is performed on one of the data storage systems. For convenience, the data storage system on which the change is to be performed (first) is referred to as a primary storage system, and the remaining data storage systems are referred to as backup storage systems.
One source of the changes are transaction requests (such as insert or update statements in SQL when the data storage system corresponds to a database system) received on networks. In such a scenario, the changes effected to the data in the primary storage system need to be propagated to the backup storage system as well.
In one prior approach, the primary storage system operates to propagate each change to the backup storage systems. One problem with such an approach is that the overhead to propagate changes may negatively impact the performance of the primary data server, which may be unacceptable in several situations.
Accordingly, what is needed is a method and apparatus which overcomes at least some of the problems noted above when synchronizing data across multiple data storage systems.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.